package com.study2.demoShuangLieJiHe;

import java.lang.reflect.Array;
import java.util.*;

public class T02_TestDemo {
   
    public static void main(String[] args) {
        /*
        * 创建hashmap 键是学生对象 值是籍贯
        * 存储三个键值对元素并遍历
        * 要求 同年龄同姓名认为是同一个学生
        *
        * 核心
        *   hashmap键位置存储的是自定义对象要 重写 hashcode 和 equals
        * */
        
        // HashMap<C02_Student,String> m1 = new HashMap<>();
        // C02_Student s1 = new C02_Student("张三",18);
        // C02_Student s2 = new C02_Student("李四",19);
        // C02_Student s3 = new C02_Student("王五",20);
        // C02_Student s4 = new C02_Student("王五",20);
        // m1.put(s1,"上海");
        // m1.put(s2,"北京");
        // m1.put(s3,"广东");
        // m1.put(s4,"深圳");
        //
        // m1.forEach((k,v)-> System.out.println(k + "--->" + v));
        // System.out.println(m1);
        
        
        
        /*
         * 需求：
         *       某个班级80名学生，现在需要组成秋游活动，班长提供了四个景点依次是（A、B、C、D）,
         *       每个学生只能选择一个景点，请统计出最终哪个景点想去的人最多
         * */
        Map<String,Integer> map = new HashMap<>();
        // ArrayList<String> s = new ArrayList<>();
        String[] s = new String[] {"A","B","C","D"};
        Random r = new Random();
        for (int i = 0; i < 80; i++) {
            String val = s[r.nextInt(s.length)];
            if(map.containsKey(val)){
                int i1 = map.get(val) + 1;
                map.put(val,i1);
            }else {
                map.put(val,1);
            }
        }
        map.forEach((k,v)-> System.out.println(k + "--->" + v));
        
        // 求最大值
        int max = Collections.max(map.values());
        map.forEach((k,v)->{
            if(v == max){
                System.out.println("人数最多的是：" + k + "--->" + v);
            }
        });
    }
}
